#ifndef SSGUTS_H
#define SSGUTS_H

#include "slotguts.h"

class ShoppingSpreeSlotGuts : public SlotGuts
{
	public:
        virtual int32 getMaxAggregate();
		virtual void playBonusGame(uint8 bonusGameType, int32 bonusDataCount, int32 *bonusData);
	    virtual void classifyScatters(SlotSpin *spin);
		virtual bool8 isGameComplete();
		virtual bool8 saveGame();
		/**
         * @brief Whether this game uses saved games.
         */
        virtual bool8 hasSavedGames(){return true;};


	protected:

		void initializeGrabBag();

        virtual bool8 isValidGuts();
		uint8 classifyStops(uint8 *, uint8, uint8);
		bool8 haveBonusGame;
		bool8 readytofinish;

        virtual SlotSpin *makeJackpot();
		int32 totalBet;
		int32 numGoodPicks;
		int64 currentGameNum;

        enum SUBGAMEDEFS
        {
            SGLOSERPICKED = -10,
			SGNOTPICKED = -1,
			BGNONE = 0,
			BGCASH = 1,
			BGGRABBAG = 2
        };

       enum SUBGAMEIDX
        {
			SGIDX_BONUSGAME,
			SGIDX_CASHONEY,
			SGIDX_CASHTWOY,
			SGIDX_CASHTHREEY,
            SGIDX_CASHVALUE,
			SGIDX_GBPICKONE,
			SGIDX_GBVALUEONE,
			SGIDX_GBPICKTWO,
			SGIDX_GBVALUETWO,
			SGIDX_GBPICKTHREE,
            SGIDX_GBVALUETHREE,
 			SGIDX_GBPICKFOUR,
            SGIDX_GBVALUEFOUR,
			SGIDX_GBPICKFIVE,
            SGIDX_GBVALUEFIVE,
			SGIDX_GBPICKSIX,
            SGIDX_GBVALUESIX,
			SGIDX_GBPICKSEVEN,
            SGIDX_GBVALUESEVEN,
			SGIDX_GBPICKEIGHT,
			SGIDX_GBVALUESEIGHT,
			SGIDX_NUMGOODPICKS,
			SGIDX_ISDONE,
             SG_SZ,
        };


};

#endif


